#pragma once
#include "stdafx.h"
#include "BlackScholesModel.h"
#include "PathDependentOption.h"
#include "MonteCarloPricer.h"
#include "matlib.h"
#include "testing.h"

class AsianOption : public PathDependentOption {
public:
    /*  Calculate the payoff of the option given
        a history of prices */
    double payoff(
        const std::vector<double>& stockPrices
    ) const;

    double price(const BlackScholesModel& bsm)
        const;
};

void testAsianOption();
